package com.example.photograph.mapper;

import com.example.photograph.domain.SysOrderItem;
import com.example.photograph.domain.VoPerInfo;

import java.util.List;

/**
 * 订单详情Mapper接口
 * 
 * @author wuyj
 * @date 2021-03-06
 */
public interface SysOrderItemMapper 
{
    /**
     * 查询订单详情
     * 
     * @param orderItemId 订单详情ID
     * @return 订单详情
     */
    public SysOrderItem selectSysOrderItemById(Long orderItemId);

    /**
     * 查询订单详情列表
     * 
     * @param sysOrderItem 订单详情
     * @return 订单详情集合
     */
    public List<SysOrderItem> selectSysOrderItemList(SysOrderItem sysOrderItem);

    /**
     * 新增订单详情
     * 
     * @param sysOrderItem 订单详情
     * @return 结果
     */
    public int insertSysOrderItem(SysOrderItem sysOrderItem);

    /**
     * 修改订单详情
     * 
     * @param sysOrderItem 订单详情
     * @return 结果
     */
    public int updateSysOrderItem(SysOrderItem sysOrderItem);

    /**
     * 删除订单详情
     * 
     * @param orderItemId 订单详情ID
     * @return 结果
     */
    public int deleteSysOrderItemById(Long orderItemId);

    /**
     * 批量删除订单详情
     * 
     * @param orderItemIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteSysOrderItemByIds(String[] orderItemIds);

    /**
     * 通过订单ID删除订单详情信息
     *
     * @param orderId 订单ID
     * @return 结果
     */
    public int deleteSysOrderItemByOrderId(Long orderId);

    /**
     * 批量新增订单详情信息
     *
     * @param orderItemList 订单详情列表
     * @return 结果
     */
    public int batchOrderItem(List<SysOrderItem> orderItemList);

    /**
     * 查询员工工作量列表
     *
     * @return 员工工作量集合
     */
    public List<SysOrderItem> selectWorkloadList(SysOrderItem sysOrderItem);

    /**
     * 个人综合业绩详情
     *
     * @return 个人综合业绩详情集合
     */
    public List<VoPerInfo> selectPerInfoByUserId(Long userId);
}
